Project 2  1
task2.cpp File Reference
#include <string>
#include <vector>
#include <fstream>
#include <cassert>
#include <iostream>
#include <cmath>
#include <limits>
#include "classifier.h"
#include "EasyBMP.h"
#include "linear.h"
#include "argvparser.h"
#include "Usable.h"
#include "timer.h"
Include dependency graph for task2.cpp:

Typedefs

typedef vector< pair< BMP *, int > > TDataSet
 
typedef vector< pair< string, int > > TFileList
 
typedef vector< pair< vector< float >, int > > TFeatures
 

Functions

void LoadFileList (const string &data_file, TFileList *file_list)
 
void LoadImages (const TFileList &file_list, TDataSet *data_set)
 
void SavePredictions (const TFileList &file_list, const TLabels &labels, const string &prediction_file)
 
std::vector< double > calcHistogramHog (const Matrix< double > &square, const Matrix< double > &abs, const Matrix< double > &angles)
 assume same-sized matrixes as params
 
void normaliseHist (vector< double > &hist)
 normalize histogram of dubles
 
std::vector< float > calculateHog (BMP &img)
 
void ExtractFeatures (const TDataSet &data_set, TFeatures *features)
 
void ClearDataset (TDataSet *data_set)
 
void TrainClassifier (const string &data_file, const string &model_file)
 
void PredictData (const string &data_file, const string &model_file, const string &prediction_file)
 
int main (int argc, char **argv)
 

Variables

constexpr uint8_t N_SQUARES_PER_LINE = 8
 source image will be splited to thet number of squares
 
constexpr uint8_t HIST_SZ = 8
 size of histogram (number of sections in 2pi interval)
 

Detailed Description

Author
Mikhail Agranovskiy, 321, cs msu

Function Documentation

std::vector<float> calculateHog ( BMP &  img)

Calculate HOG descriptor for source image.

SSE intrinsics are used in implementation.

Parameters
imgsource image
Returns
HOG descriptor

gradients absolute values

gradients directions

void ExtractFeatures ( const TDataSet &  data_set,
TFeatures *  features 
)

Extract features from dataset.

Parameters
data_setvector of pairs <image, lable>
featuresvector of gistograms and lables for images from data_set. The main aim of the function is to construct that vector.